1. Field of the Invention
This invention relates generally to wireless devices. More particular, the invention relates to the intelligent software controlled correction of a frequency of a local clock signal in a wireless receiving device.
2. Background of Related Art
Wireless devices in general have gained in popularity over the years, and can now be found in many if not most homes or businesses. For instance, digital cordless telephones are now common in many homes and small offices. A cordless telephone is one in which the handset is not wired to its base unit, but instead uses wireless communication techniques between a remote handset and its base unit. While early cordless telephones transmitted analog signals, more recent advances in technology have introduced digital cordless telephones wherein the audio signals between the wireless devices are digitized and passed using digital signal transmission techniques (e.g., frequency shift keying (FSK) or quadrature amplitude modulation (QAM)).
FIG. 8A illustrates a typical remote handset 800 of a digital cordless telephone.
The remote handset 800 includes a controller 805, a coder-decoder (CODEC) 810, a speaker 815, a microphone 820, a radio frequency (RF) transceiver 825, a local oscillator 830, an EEPROM 835, a keypad 840, a timing recovery circuit 845 and a program ROM 837.
In the transmit direction, the microphone 820 outputs an analog signal to the CODEC 810, which converts the microphone input signal to a digital microphone signal. As part of the conversion process, a clock signal is provided from the local oscillator 830 for the CODEC 810 to sample the microphone signal. The digital microphone signal is then passed to the RF transceiver 825 for encoding into a radio frequency (RF) signal for transmission to a complementary base unit. The controller 805 also retrieves frequency control information from the EEPROM 835 to select the frequency that the RF transceiver 825 transmits. The program ROM 837 also provides a storage medium for the software that operates the remote handset 100 and for a security word.
In the receive direction, the RF transceiver 825 receives a RF signal from the complementary base unit. The RF transceiver 825 converts the RF signal to a digital signal that is passed to the CODEC 810 for decoding. The timing recovery circuit 845 provides correction information to the controller 805 to adjust the local oscillator 830 for the decoding of the digital signal. The output of the CODEC 810 is an analog signal for output by the speaker 815.
FIG. 8B illustrates a base unit 850 of the digital cordless telephone. The base unit 850 contains circuitry which is complementary to that contained in the remote digital handset 800, i.e., a complementary RF transceiver 870, a controller 855, a CODEC 860, an EEPROM 880, a program ROM 882, a timing recovery circuit 885 and a local oscillator 875. The base unit 850 also includes a telephone line interface 865 to interface with a public switched telephone network and a ring detect circuit 890 to detect the ring signal corresponding to an incoming telephone call.
For optimum performance between the remote handset 800 and the base unit 850, both local oscillators, 830 and 875, typically need to be frequency aligned. This is particularly true when an RF frequency is generated from a lower frequency master clock signal. In such a case, the master clock signal must be very finely adjusted because any baseband offset error will be multiplied by several orders of magnitude to create a much larger RF frequency offset compared to that being utilized at the other end of the RF link. Voltage controlled oscillators (VCOs) are often used for this task where the control voltage is kept at the desired level using a hardware circuit such as a phase locked loop (PLL).
In a typical application, the handset""s local oscillator 830 ordinarily needs to be frequency aligned with the base unit""s local oscillator 875 to within a few parts per million (ppm) for reliable and noise-free communication. However, in the real-world, a local oscillator may drift for a variety of reasons. A temperature change, a voltage change, or a tolerance variation in the components used in the digital cordless telephone may contribute to local oscillator drift.
There are several ways to correct for local oscillator drift. One method is called a coarse frequency search. A remote handset of a cordless telephone in the coarse frequency search will adjust the remote handset""s oscillator to within a range of 5 ppm from as far off as 300 ppm. The coarse frequency search may be performed at any time, but its purpose is to achieve frequency alignment to within about 5 ppm at best. A coarse frequency search is very time-consuming, e.g., 1-2 sec., and will drain the remote handset""s battery if done while the cordless telephone is off-hook.
Another method to correct for local oscillator drift is to use a synchronization bit(s) or frame. In a typical cordless telephone, a remote handset and a base unit communicate over the RF link using packets or frames. As part of the frame, several bits are reserved as synchronization bits.
FIG. 9 shows a conventional frame 900 with a synchronization field used in an RF link between a remote handset and a base unit of a digital cordless telephone.
In particular, as shown in FIG. 9, the frame 900 includes a data field 910, error correction code (xe2x80x9cECCxe2x80x9d) field 920 and a synchronization field 920. Each respective field includes a number of bits. The number of bits per field is dependent on the functionality of the field.
The data field 910 of the frame 900 typically contains the encoded voice signals.
The ECC field 920 of the frame 900 typically contains the error correction code for the data field 910. As the voice signals are encoded, typically, an error correction code is included in the frame 900 to ensure that the voice signals are properly transmitted and received.
The synchronization field 930 provides a method for a remote handset and base unit to frequency align by using the synchronization field to correct the receiving local oscillator or to derive a clock signal.
Although this method is effective, the synchronization field technique requires time for the receiving remote handset or base unit to frequency align. Moreover, this synchronization time may introduce unwanted delays in the communications between the base unit and the remote handset.
There is a need for an improved method and/or apparatus to frequency align a remote handset""s local oscillator with a base unit""s local oscillator to a high degree, e.g., to within 1 ppm for reliable and noise free communication.
In accordance with the principles of the present invention, a method to frequency track a local oscillator of a first wireless device with a clock signal of a second wireless device comprises determining a number of clock cycles during a length of a data symbol transmitted from the base unit to the remote handset. The determined number of clock cycles during the length of the transmitted symbol is compared to an expected number of clock cycles during the transmitted symbol. A frequency of the local oscillator is adjusted based on the comparison.
In accordance with another aspect of the present invention, an apparatus to frequency track a local oscillator of a first wireless device with a clock signal of a second wireless device comprises a local oscillator located within the first wireless device. A controller running a software module adjusts a frequency of the local oscillator only when a comparison of a number of clock cycles between boundaries of a received symbol differ by more than a predetermined threshold from an expected number of clock cycles. The predetermined threshold is non-zero.